package com.lu.edu.info.manager.dao;

/**
 * @author lufeng
 * @date 2021/9/14 10:52
 */

import com.lu.edu.info.manager.domain.Student;

/**
 * 库管
 */
public class StudentDao {
    //        创建学生对象数组
    private static Student[] stus = new Student[5];


    /**添加学生方法
      * @param stu
     * @return
     */
    // 将所有学生装到数组单中
    public boolean addStudent(Student stu) {
//        添加学生到数组 定义一个变量index 为-1 假设数组已经全部存满没有null元素
        int index = -1;
//        遍历一边数组 取出每一个元素 判断是否为null
        for (int i = 0; i < stus.length; i++) {
            Student student = stus[i];
            if (student == null) {
//                如果为null 让index变量记录当前索引位置 并使用break结束循环遍历
                index = i;
                break;
            }
        }
//        返回是否添加成功的boolean类型的状态
        if (index == -1) {
            return false;
        } else {
            stus[index] = stu;
            return true;
        }
    }

    /**查找学生方法
     *
     * @return
     */
    // 将放在开头定义的数组（第一个方法已经将学生信息传入数组）进行返回
    public Student[] findAllStudent() {
        return stus;
    }

    /**
     * 删除方法
     *
     * @param delID
     */
    public void deleteStudent(String delID) {
        int index = getIndex(delID);
        stus[index]=null;
    }

    /**
     * 找ID的方法
     */
    public int getIndex(String id) {
    int index = -1;
        for (int i = 0; i < stus.length; i++) {
            Student stus = StudentDao.stus[i];
           if (stus!=null&&stus.getId().equals(id)){
               index = i;
               break;



            }
        }
        return index;
    }
    public int getInde(String id) {
        int index = -1;
        for (int i = 0; i < stus.length; i++) {
            Student stus = StudentDao.stus[i];
            if (stus!=null&&stus.getId().equals(id)){
                index = i;
                break;



            }
        }
        return index;
    }
//iiiiiii
    /**
     * 修改方法
     * @param sid
     * @param newstu
     */

    public void setStudent(String sid, Student newstu) {
      int index =getIndex(sid);
      stus[index]=newstu;
    }
}
